# 阶跃函数是神经网络中最简单的激活函数之一
# 实现原理：输入大于0时输出1，否则输出0
# 使用NumPy的数组操作实现向量化计算
# 绘图展示了阶跃函数的典型形状
# y轴范围设置为-0.1到1.1是为了更好地显示函数在0点的突变

# 指定文件编码为UTF-8
# coding: utf-8

# 导入NumPy数值计算库
import numpy as np

# 导入matplotlib的pylab绘图模块
import matplotlib.pylab as plt

# 定义阶跃函数
def step_function(x):
    # 将输入转换为布尔值后转为整数(0或1)
    # 当x>0时返回1，否则返回0
    return np.array(x > 0, dtype=np.int)

# 生成x轴数据
# 从-5.0到5.0(不含5.0)，步长0.1的数组
X = np.arange(-5.0, 5.0, 0.1)

# 计算阶跃函数的输出值
Y = step_function(X)

# 绘制阶跃函数曲线
plt.plot(X, Y)

# 设置y轴显示范围
# 下限-0.1，上限1.1
plt.ylim(-0.1, 1.1)  # 指定图中绘制的y轴的范围

# 显示图形窗口
plt.show()
